package org.jeecg.modules.dock.entity.dto.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 销售出库单入参实体
 *
 * @author zhoutong
 */
@Data
public class SaleOutboundRequestDTO extends SapBaseRequestDTO {

    // 交货单
    @JsonProperty("vbeln")
    private String deliveryNote;

    // 交货单行
    @JsonProperty("posnr")
    private Integer deliveryNoteLine;

    // 客户
    @JsonProperty("kunnr")
    private String custom;

    // 客户描述
    @JsonProperty("name1")
    private String customDescribe;

    // 销售组织
    @JsonProperty("vkorg")
    private String saleOrganization;

    // 创建日期
    @JsonProperty("erdat")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date createTime;

    // 物料编号
    @JsonProperty("matnr")
    private String materialCode;

    // 工厂
    @JsonProperty("werks")
    private String factory;

    // 库存地点
    @JsonProperty("lgort")
    private String storeLocation;

    // 批号
    @JsonProperty("charg")
    private String batchNumber;

    // 数量
    @JsonProperty("lfimg")
    private BigDecimal quantity;

    //计量单位
    @JsonProperty("meins")
    private String unit;

    //运输单
    @JsonProperty("zusd")
    private String transportDoc;

    //车牌颜色
    @JsonProperty("zcpys")
    private String plateColor;

    //车牌号
    @JsonProperty("zcph")
    private String plate;

    //司机
    @JsonProperty("zsj")
    private String driver;

    //手机号码
    @JsonProperty("zphone")
    private String phone;

    //销售订单号
    @JsonProperty("vgbel")
    private String saleOrderNumber;

    //销售订单行号
    @JsonProperty("vgpos")
    private String saleOrderLineNumber;

    //客户单号
    @JsonProperty("kdmat")
    private String customerOrderNumber;

    //备注
    @JsonProperty("zbz")
    private String remark;

    //提单号
    @JsonProperty("ztdh")
    private String blNo;

    //箱号
    @JsonProperty("zxh")
    private String boxNo;

    //封号
    @JsonProperty("zfh")
    private String titleNo;

}
